type IProps = {
  disableDefaultUI: boolean;
  zoom: number;
} & Partial<{
  markerBuilder: IMarkerBuilder;
}>;

type IPlace = { lat: number; lng: number; tag: string } & Record<string, any>;

type IPlaceList = Array<IPlace>;

interface IMarkerBuilder {
  (i: IPlace): {
    icon: any;
    labelClass: string;
    labelContent: string;
  } | null;
}

export type { IMarkerBuilder, IPlace, IPlaceList, IProps };
